tarball creation::
        Create tarballs for your software using a simple command and a
        git or mercurial revision.

automatic verification of gpg signatures::
        If your git commits or git tags are gpg signed, the signature
        can be automatically checked using a specified keyring.

package creation::
        Create binary or source packages from any git or mercurial
        revision using a simple command.

remote builds::
        Build your software on a remote server with ssh, or in a local
        chroot using a different OS. For instance if you are using
        rbm on an rpm based distribution, this allows you to build
        debian packages from the same workspace, using a Debian chroot.

customizable::
        Almost everything rbm do can be changed using some optional
        settings, globally, or for some selected projects or OSs.

simple configuration::
        The configuration is done using simple YAML files.

a flexible configuration system::
        All settings can be set globally, per workspace, project, or
        target operating system.

a dynamic configuration system::
        All configuration settings are templates. You can reuse other
        configuration settings, or the output of some commands in those
        settings. For instance, the version number of your software can
        be set using a command to grep the README file in your sources
        tree.

extensible in perl::
        While the configuration is usually done in simple YAML, you can
        also in the same configuration file use perl to define any of
        the options. Those options can be defined by a perl function
        that will be executed when the option is queried, and whose
        return value will be used as the option value.

